<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/uapi/asm/sigcontext.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/uapi/asm/sigcontext.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X1VBUElfQVNNX1g4Nl9TSUdDT05URVhUX0hfMA__"><span class="b">_UAPI_ASM_X86_SIGCONTEXT_H</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1VBUElfQVNNX1g4Nl9TSUdDT05URVhUX0hfMA__"><span class="b">_UAPI_ASM_X86_SIGCONTEXT_H</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">compiler</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="5" /><span class="True">       5:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="6" /><span class="True">       6:</span> 
<a name="7" /><span class="True">       7:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RlBfWFNUQVRFX01BR0lDMV8w"><span class="b">FP_XSTATE_MAGIC1</span></a>    <span class="c">0x46505853U</span>
<a name="8" /><span class="True">       8:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RlBfWFNUQVRFX01BR0lDMl8w"><span class="b">FP_XSTATE_MAGIC2</span></a>    <span class="c">0x46505845U</span>
<a name="9" /><span class="True">       9:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RlBfWFNUQVRFX01BR0lDMl9TSVpFXzA_"><span class="b">FP_XSTATE_MAGIC2_SIZE</span></a>    <span class="m">sizeof</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_RlBfWFNUQVRFX01BR0lDMl8w"><span class="b">FP_XSTATE_MAGIC2</span></a><span class="f">)</span>
<a name="10" /><span class="True">      10:</span> 
<a name="11" /><span class="True">      11:</span> <span class="k">/*</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * bytes 464..511 in the current 512byte layout of fxsave/fxrstor frame</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * are reserved for SW usage. On cpu&apos;s supporting xsave/xrstor, these bytes</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> * are used to extended the fpstate pointer in the sigcontext, which now</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * includes the extended state information along with fpstate information.</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> *</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * Presence of FP_XSTATE_MAGIC1 at the beginning of this SW reserved</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * area and FP_XSTATE_MAGIC2 at the end of memory layout</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * (extended_size - FP_XSTATE_MAGIC2_SIZE) indicates the presence of the</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * extended state information in the memory layout pointed by the fpstate</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> * pointer in sigcontext.</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> */</span>
<a name="23" /><span class="True">      23:</span> <span class="m">struct</span> <span class="b">_fpx_sw_bytes</span> <span class="f">{</span>
<a name="24" /><span class="True">      24:</span>     <span class="b">__u32</span> <span class="b">magic1</span><span class="f">;</span>        <span class="k">/* FP_XSTATE_MAGIC1 */</span>
<a name="25" /><span class="True">      25:</span>     <span class="b">__u32</span> <span class="b">extended_size</span><span class="f">;</span>    <span class="k">/* total size of the layout referred by</span>
<a name="26" /><span class="True">      26:</span> <span class="k">                 * fpstate pointer in the sigcontext.</span>
<a name="27" /><span class="True">      27:</span> <span class="k">                 */</span>
<a name="28" /><span class="True">      28:</span>     <span class="b">__u64</span> <span class="b">xstate_bv</span><span class="f">;</span>
<a name="29" /><span class="True">      29:</span>                 <span class="k">/* feature bit mask (including fp/sse/extended</span>
<a name="30" /><span class="True">      30:</span> <span class="k">                 * state) that is present in the memory</span>
<a name="31" /><span class="True">      31:</span> <span class="k">                 * layout.</span>
<a name="32" /><span class="True">      32:</span> <span class="k">                 */</span>
<a name="33" /><span class="True">      33:</span>     <span class="b">__u32</span> <span class="b">xstate_size</span><span class="f">;</span>    <span class="k">/* actual xsave state size, based on the</span>
<a name="34" /><span class="True">      34:</span> <span class="k">                 * features saved in the layout.</span>
<a name="35" /><span class="True">      35:</span> <span class="k">                 * &apos;extended_size&apos; will be greater than</span>
<a name="36" /><span class="True">      36:</span> <span class="k">                 * &apos;xstate_size&apos;.</span>
<a name="37" /><span class="True">      37:</span> <span class="k">                 */</span>
<a name="38" /><span class="True">      38:</span>     <span class="b">__u32</span> <span class="b">padding</span><span class="f">[</span><span class="c">7</span><span class="f">]</span><span class="f">;</span>    <span class="k">/*  for future use. */</span>
<a name="39" /><span class="True">      39:</span> <span class="f">}</span><span class="f">;</span>
<a name="40" /><span class="True">      40:</span> 
<a name="41" /><span class="False">      41:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">__i386__</span>
<a name="42" /><span class="False">      42:</span> <span class="k">/*</span>
<a name="43" /><span class="False">      43:</span> <span class="k"> * As documented in the iBCS2 standard..</span>
<a name="44" /><span class="False">      44:</span> <span class="k"> *</span>
<a name="45" /><span class="False">      45:</span> <span class="k"> * The first part of &quot;struct _fpstate&quot; is just the normal i387</span>
<a name="46" /><span class="False">      46:</span> <span class="k"> * hardware setup, the extra &quot;status&quot; word is used to save the</span>
<a name="47" /><span class="False">      47:</span> <span class="k"> * coprocessor status word before entering the handler.</span>
<a name="48" /><span class="False">      48:</span> <span class="k"> *</span>
<a name="49" /><span class="False">      49:</span> <span class="k"> * Pentium III FXSR, SSE support</span>
<a name="50" /><span class="False">      50:</span> <span class="k"> *    Gareth Hughes &lt;gareth@valinux.com&gt;, May 2000</span>
<a name="51" /><span class="False">      51:</span> <span class="k"> *</span>
<a name="52" /><span class="False">      52:</span> <span class="k"> * The FPU state data structure has had to grow to accommodate the</span>
<a name="53" /><span class="False">      53:</span> <span class="k"> * extended FPU state required by the Streaming SIMD Extensions.</span>
<a name="54" /><span class="False">      54:</span> <span class="k"> * There is no documented standard to accomplish this at the moment.</span>
<a name="55" /><span class="False">      55:</span> <span class="k"> */</span>
<a name="56" /><span class="False">      56:</span> <span class="m">struct</span> <span class="b">_fpreg</span> <span class="f">{</span>
<a name="57" /><span class="False">      57:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">significand</span><span class="f">[</span><span class="c">4</span><span class="f">]</span><span class="f">;</span>
<a name="58" /><span class="False">      58:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">exponent</span><span class="f">;</span>
<a name="59" /><span class="False">      59:</span> <span class="f">}</span><span class="f">;</span>
<a name="60" /><span class="False">      60:</span> 
<a name="61" /><span class="False">      61:</span> <span class="m">struct</span> <span class="b">_fpxreg</span> <span class="f">{</span>
<a name="62" /><span class="False">      62:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">significand</span><span class="f">[</span><span class="c">4</span><span class="f">]</span><span class="f">;</span>
<a name="63" /><span class="False">      63:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">exponent</span><span class="f">;</span>
<a name="64" /><span class="False">      64:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">padding</span><span class="f">[</span><span class="c">3</span><span class="f">]</span><span class="f">;</span>
<a name="65" /><span class="False">      65:</span> <span class="f">}</span><span class="f">;</span>
<a name="66" /><span class="False">      66:</span> 
<a name="67" /><span class="False">      67:</span> <span class="m">struct</span> <span class="b">_xmmreg</span> <span class="f">{</span>
<a name="68" /><span class="False">      68:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">element</span><span class="f">[</span><span class="c">4</span><span class="f">]</span><span class="f">;</span>
<a name="69" /><span class="False">      69:</span> <span class="f">}</span><span class="f">;</span>
<a name="70" /><span class="False">      70:</span> 
<a name="71" /><span class="False">      71:</span> <span class="m">struct</span> <span class="b">_fpstate</span> <span class="f">{</span>
<a name="72" /><span class="False">      72:</span>     <span class="k">/* Regular FPU environment */</span>
<a name="73" /><span class="False">      73:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">cw</span><span class="f">;</span>
<a name="74" /><span class="False">      74:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">sw</span><span class="f">;</span>
<a name="75" /><span class="False">      75:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">tag</span><span class="f">;</span>
<a name="76" /><span class="False">      76:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">ipoff</span><span class="f">;</span>
<a name="77" /><span class="False">      77:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">cssel</span><span class="f">;</span>
<a name="78" /><span class="False">      78:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">dataoff</span><span class="f">;</span>
<a name="79" /><span class="False">      79:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">datasel</span><span class="f">;</span>
<a name="80" /><span class="False">      80:</span>     <span class="m">struct</span> <span class="b">_fpreg</span>    <span class="b">_st</span><span class="f">[</span><span class="c">8</span><span class="f">]</span><span class="f">;</span>
<a name="81" /><span class="False">      81:</span>     <span class="m">unsigned</span> <span class="m">short</span>    <span class="b">status</span><span class="f">;</span>
<a name="82" /><span class="False">      82:</span>     <span class="m">unsigned</span> <span class="m">short</span>    <span class="b">magic</span><span class="f">;</span>        <span class="k">/* 0xffff = regular FPU data only */</span>
<a name="83" /><span class="False">      83:</span> 
<a name="84" /><span class="False">      84:</span>     <span class="k">/* FXSR FPU environment */</span>
<a name="85" /><span class="False">      85:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">_fxsr_env</span><span class="f">[</span><span class="c">6</span><span class="f">]</span><span class="f">;</span>    <span class="k">/* FXSR FPU env is ignored */</span>
<a name="86" /><span class="False">      86:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">mxcsr</span><span class="f">;</span>
<a name="87" /><span class="False">      87:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">reserved</span><span class="f">;</span>
<a name="88" /><span class="False">      88:</span>     <span class="m">struct</span> <span class="b">_fpxreg</span>    <span class="b">_fxsr_st</span><span class="f">[</span><span class="c">8</span><span class="f">]</span><span class="f">;</span>    <span class="k">/* FXSR FPU reg data is ignored */</span>
<a name="89" /><span class="False">      89:</span>     <span class="m">struct</span> <span class="b">_xmmreg</span>    <span class="b">_xmm</span><span class="f">[</span><span class="c">8</span><span class="f">]</span><span class="f">;</span>
<a name="90" /><span class="False">      90:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">padding1</span><span class="f">[</span><span class="c">44</span><span class="f">]</span><span class="f">;</span>
<a name="91" /><span class="False">      91:</span> 
<a name="92" /><span class="False">      92:</span>     <span class="m">union</span> <span class="f">{</span>
<a name="93" /><span class="False">      93:</span>         <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">padding2</span><span class="f">[</span><span class="c">12</span><span class="f">]</span><span class="f">;</span>
<a name="94" /><span class="False">      94:</span>         <span class="m">struct</span> <span class="b">_fpx_sw_bytes</span> <span class="b">sw_reserved</span><span class="f">;</span> <span class="k">/* represents the extended</span>
<a name="95" /><span class="False">      95:</span> <span class="k">                           * state info */</span>
<a name="96" /><span class="False">      96:</span>     <span class="f">}</span><span class="f">;</span>
<a name="97" /><span class="False">      97:</span> <span class="f">}</span><span class="f">;</span>
<a name="98" /><span class="False">      98:</span> 
<a name="99" /><span class="False">      99:</span> <span class="f">#</span><span class="n">define</span> <span class="b">X86_FXSR_MAGIC</span>        <span class="c">0x0000</span>
<a name="100" /><span class="False">     100:</span> 
<a name="101" /><span class="False">     101:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19LRVJORUxfX18w"><span class="b">__KERNEL__</span></a>
<a name="102" /><span class="False">     102:</span> <span class="k">/*</span>
<a name="103" /><span class="False">     103:</span> <span class="k"> * User-space might still rely on the old definition:</span>
<a name="104" /><span class="False">     104:</span> <span class="k"> */</span>
<a name="105" /><span class="False">     105:</span> <span class="m">struct</span> <span class="b">sigcontext</span> <span class="f">{</span>
<a name="106" /><span class="False">     106:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">gs</span><span class="f">,</span> <span class="b">__gsh</span><span class="f">;</span>
<a name="107" /><span class="False">     107:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">fs</span><span class="f">,</span> <span class="b">__fsh</span><span class="f">;</span>
<a name="108" /><span class="False">     108:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">es</span><span class="f">,</span> <span class="b">__esh</span><span class="f">;</span>
<a name="109" /><span class="False">     109:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">ds</span><span class="f">,</span> <span class="b">__dsh</span><span class="f">;</span>
<a name="110" /><span class="False">     110:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">edi</span><span class="f">;</span>
<a name="111" /><span class="False">     111:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">esi</span><span class="f">;</span>
<a name="112" /><span class="False">     112:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">ebp</span><span class="f">;</span>
<a name="113" /><span class="False">     113:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">esp</span><span class="f">;</span>
<a name="114" /><span class="False">     114:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">ebx</span><span class="f">;</span>
<a name="115" /><span class="False">     115:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">edx</span><span class="f">;</span>
<a name="116" /><span class="False">     116:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">ecx</span><span class="f">;</span>
<a name="117" /><span class="False">     117:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">eax</span><span class="f">;</span>
<a name="118" /><span class="False">     118:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">trapno</span><span class="f">;</span>
<a name="119" /><span class="False">     119:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">err</span><span class="f">;</span>
<a name="120" /><span class="False">     120:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">eip</span><span class="f">;</span>
<a name="121" /><span class="False">     121:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">cs</span><span class="f">,</span> <span class="b">__csh</span><span class="f">;</span>
<a name="122" /><span class="False">     122:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">eflags</span><span class="f">;</span>
<a name="123" /><span class="False">     123:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">esp_at_signal</span><span class="f">;</span>
<a name="124" /><span class="False">     124:</span>     <span class="m">unsigned</span> <span class="m">short</span> <span class="b">ss</span><span class="f">,</span> <span class="b">__ssh</span><span class="f">;</span>
<a name="125" /><span class="False">     125:</span>     <span class="m">struct</span> <span class="b">_fpstate</span> <a href="cpu.c_macros_ref.html#_X191c2VyXzA_"><span class="b">__user</span></a> <span class="f">*</span><span class="b">fpstate</span><span class="f">;</span>
<a name="126" /><span class="False">     126:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">oldmask</span><span class="f">;</span>
<a name="127" /><span class="False">     127:</span>     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">cr2</span><span class="f">;</span>
<a name="128" /><span class="False">     128:</span> <span class="f">}</span><span class="f">;</span>
<a name="129" /><span class="False">     129:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__KERNEL__ */</span>
<a name="130" /><span class="False">     130:</span> 
<a name="131" /><span class="True">     131:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* __i386__ */</span>
<a name="132" /><span class="True">     132:</span> 
<a name="133" /><span class="True">     133:</span> <span class="k">/* FXSAVE frame */</span>
<a name="134" /><span class="True">     134:</span> <span class="k">/* Note: reserved1/2 may someday contain valuable data. Always save/restore</span>
<a name="135" /><span class="True">     135:</span> <span class="k">   them when you change signal frames. */</span>
<a name="136" /><span class="True">     136:</span> <span class="m">struct</span> <span class="b">_fpstate</span> <span class="f">{</span>
<a name="137" /><span class="True">     137:</span>     <span class="b">__u16</span>    <span class="b">cwd</span><span class="f">;</span>
<a name="138" /><span class="True">     138:</span>     <span class="b">__u16</span>    <span class="b">swd</span><span class="f">;</span>
<a name="139" /><span class="True">     139:</span>     <span class="b">__u16</span>    <span class="b">twd</span><span class="f">;</span>        <span class="k">/* Note this is not the same as the</span>
<a name="140" /><span class="True">     140:</span> <span class="k">                   32bit/x87/FSAVE twd */</span>
<a name="141" /><span class="True">     141:</span>     <span class="b">__u16</span>    <span class="b">fop</span><span class="f">;</span>
<a name="142" /><span class="True">     142:</span>     <span class="b">__u64</span>    <span class="b">rip</span><span class="f">;</span>
<a name="143" /><span class="True">     143:</span>     <span class="b">__u64</span>    <span class="b">rdp</span><span class="f">;</span>
<a name="144" /><span class="True">     144:</span>     <span class="b">__u32</span>    <span class="b">mxcsr</span><span class="f">;</span>
<a name="145" /><span class="True">     145:</span>     <span class="b">__u32</span>    <span class="b">mxcsr_mask</span><span class="f">;</span>
<a name="146" /><span class="True">     146:</span>     <span class="b">__u32</span>    <span class="b">st_space</span><span class="f">[</span><span class="c">32</span><span class="f">]</span><span class="f">;</span>    <span class="k">/* 8*16 bytes for each FP-reg */</span>
<a name="147" /><span class="True">     147:</span>     <span class="b">__u32</span>    <span class="b">xmm_space</span><span class="f">[</span><span class="c">64</span><span class="f">]</span><span class="f">;</span>    <span class="k">/* 16*16 bytes for each XMM-reg  */</span>
<a name="148" /><span class="True">     148:</span>     <span class="b">__u32</span>    <span class="b">reserved2</span><span class="f">[</span><span class="c">12</span><span class="f">]</span><span class="f">;</span>
<a name="149" /><span class="True">     149:</span>     <span class="m">union</span> <span class="f">{</span>
<a name="150" /><span class="True">     150:</span>         <span class="b">__u32</span>    <span class="b">reserved3</span><span class="f">[</span><span class="c">12</span><span class="f">]</span><span class="f">;</span>
<a name="151" /><span class="True">     151:</span>         <span class="m">struct</span> <span class="b">_fpx_sw_bytes</span> <span class="b">sw_reserved</span><span class="f">;</span> <span class="k">/* represents the extended</span>
<a name="152" /><span class="True">     152:</span> <span class="k">                           * state information */</span>
<a name="153" /><span class="True">     153:</span>     <span class="f">}</span><span class="f">;</span>
<a name="154" /><span class="True">     154:</span> <span class="f">}</span><span class="f">;</span>
<a name="155" /><span class="True">     155:</span> 
<a name="156" /><span class="False">     156:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19LRVJORUxfX18w"><span class="b">__KERNEL__</span></a>
<a name="157" /><span class="False">     157:</span> <span class="k">/*</span>
<a name="158" /><span class="False">     158:</span> <span class="k"> * User-space might still rely on the old definition:</span>
<a name="159" /><span class="False">     159:</span> <span class="k"> */</span>
<a name="160" /><span class="False">     160:</span> <span class="m">struct</span> <span class="b">sigcontext</span> <span class="f">{</span>
<a name="161" /><span class="False">     161:</span>     <span class="b">__u64</span> <span class="b">r8</span><span class="f">;</span>
<a name="162" /><span class="False">     162:</span>     <span class="b">__u64</span> <span class="b">r9</span><span class="f">;</span>
<a name="163" /><span class="False">     163:</span>     <span class="b">__u64</span> <span class="b">r10</span><span class="f">;</span>
<a name="164" /><span class="False">     164:</span>     <span class="b">__u64</span> <span class="b">r11</span><span class="f">;</span>
<a name="165" /><span class="False">     165:</span>     <span class="b">__u64</span> <span class="b">r12</span><span class="f">;</span>
<a name="166" /><span class="False">     166:</span>     <span class="b">__u64</span> <span class="b">r13</span><span class="f">;</span>
<a name="167" /><span class="False">     167:</span>     <span class="b">__u64</span> <span class="b">r14</span><span class="f">;</span>
<a name="168" /><span class="False">     168:</span>     <span class="b">__u64</span> <span class="b">r15</span><span class="f">;</span>
<a name="169" /><span class="False">     169:</span>     <span class="b">__u64</span> <span class="b">rdi</span><span class="f">;</span>
<a name="170" /><span class="False">     170:</span>     <span class="b">__u64</span> <span class="b">rsi</span><span class="f">;</span>
<a name="171" /><span class="False">     171:</span>     <span class="b">__u64</span> <span class="b">rbp</span><span class="f">;</span>
<a name="172" /><span class="False">     172:</span>     <span class="b">__u64</span> <span class="b">rbx</span><span class="f">;</span>
<a name="173" /><span class="False">     173:</span>     <span class="b">__u64</span> <span class="b">rdx</span><span class="f">;</span>
<a name="174" /><span class="False">     174:</span>     <span class="b">__u64</span> <span class="b">rax</span><span class="f">;</span>
<a name="175" /><span class="False">     175:</span>     <span class="b">__u64</span> <span class="b">rcx</span><span class="f">;</span>
<a name="176" /><span class="False">     176:</span>     <span class="b">__u64</span> <span class="b">rsp</span><span class="f">;</span>
<a name="177" /><span class="False">     177:</span>     <span class="b">__u64</span> <span class="b">rip</span><span class="f">;</span>
<a name="178" /><span class="False">     178:</span>     <span class="b">__u64</span> <span class="b">eflags</span><span class="f">;</span>        <span class="k">/* RFLAGS */</span>
<a name="179" /><span class="False">     179:</span>     <span class="b">__u16</span> <span class="b">cs</span><span class="f">;</span>
<a name="180" /><span class="False">     180:</span>     <span class="b">__u16</span> <span class="b">gs</span><span class="f">;</span>
<a name="181" /><span class="False">     181:</span>     <span class="b">__u16</span> <span class="b">fs</span><span class="f">;</span>
<a name="182" /><span class="False">     182:</span>     <span class="b">__u16</span> <span class="b">__pad0</span><span class="f">;</span>
<a name="183" /><span class="False">     183:</span>     <span class="b">__u64</span> <span class="b">err</span><span class="f">;</span>
<a name="184" /><span class="False">     184:</span>     <span class="b">__u64</span> <span class="b">trapno</span><span class="f">;</span>
<a name="185" /><span class="False">     185:</span>     <span class="b">__u64</span> <span class="b">oldmask</span><span class="f">;</span>
<a name="186" /><span class="False">     186:</span>     <span class="b">__u64</span> <span class="b">cr2</span><span class="f">;</span>
<a name="187" /><span class="False">     187:</span>     <span class="m">struct</span> <span class="b">_fpstate</span> <a href="cpu.c_macros_ref.html#_X191c2VyXzA_"><span class="b">__user</span></a> <span class="f">*</span><span class="b">fpstate</span><span class="f">;</span>    <span class="k">/* zero when no FPU context */</span>
<a name="188" /><span class="False">     188:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">__ILP32__</span>
<a name="189" /><span class="False">     189:</span>     <span class="b">__u32</span> <span class="b">__fpstate_pad</span><span class="f">;</span>
<a name="190" /><span class="False">     190:</span> <span class="f">#</span><span class="n">endif</span>
<a name="191" /><span class="False">     191:</span>     <span class="b">__u64</span> <span class="b">reserved1</span><span class="f">[</span><span class="c">8</span><span class="f">]</span><span class="f">;</span>
<a name="192" /><span class="False">     192:</span> <span class="f">}</span><span class="f">;</span>
<a name="193" /><span class="True">     193:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__KERNEL__ */</span>
<a name="194" /><span class="True">     194:</span> 
<a name="195" /><span class="True">     195:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__i386__ */</span>
<a name="196" /><span class="True">     196:</span> 
<a name="197" /><span class="True">     197:</span> <span class="m">struct</span> <span class="b">_xsave_hdr</span> <span class="f">{</span>
<a name="198" /><span class="True">     198:</span>     <span class="b">__u64</span> <span class="b">xstate_bv</span><span class="f">;</span>
<a name="199" /><span class="True">     199:</span>     <span class="b">__u64</span> <span class="b">reserved1</span><span class="f">[</span><span class="c">2</span><span class="f">]</span><span class="f">;</span>
<a name="200" /><span class="True">     200:</span>     <span class="b">__u64</span> <span class="b">reserved2</span><span class="f">[</span><span class="c">5</span><span class="f">]</span><span class="f">;</span>
<a name="201" /><span class="True">     201:</span> <span class="f">}</span><span class="f">;</span>
<a name="202" /><span class="True">     202:</span> 
<a name="203" /><span class="True">     203:</span> <span class="m">struct</span> <span class="b">_ymmh_state</span> <span class="f">{</span>
<a name="204" /><span class="True">     204:</span>     <span class="k">/* 16 * 16 bytes for each YMMH-reg */</span>
<a name="205" /><span class="True">     205:</span>     <span class="b">__u32</span> <span class="b">ymmh_space</span><span class="f">[</span><span class="c">64</span><span class="f">]</span><span class="f">;</span>
<a name="206" /><span class="True">     206:</span> <span class="f">}</span><span class="f">;</span>
<a name="207" /><span class="True">     207:</span> 
<a name="208" /><span class="True">     208:</span> <span class="k">/*</span>
<a name="209" /><span class="True">     209:</span> <span class="k"> * Extended state pointed by the fpstate pointer in the sigcontext.</span>
<a name="210" /><span class="True">     210:</span> <span class="k"> * In addition to the fpstate, information encoded in the xstate_hdr</span>
<a name="211" /><span class="True">     211:</span> <span class="k"> * indicates the presence of other extended state information</span>
<a name="212" /><span class="True">     212:</span> <span class="k"> * supported by the processor and OS.</span>
<a name="213" /><span class="True">     213:</span> <span class="k"> */</span>
<a name="214" /><span class="True">     214:</span> <span class="m">struct</span> <span class="b">_xstate</span> <span class="f">{</span>
<a name="215" /><span class="True">     215:</span>     <span class="m">struct</span> <span class="b">_fpstate</span> <span class="b">fpstate</span><span class="f">;</span>
<a name="216" /><span class="True">     216:</span>     <span class="m">struct</span> <span class="b">_xsave_hdr</span> <span class="b">xstate_hdr</span><span class="f">;</span>
<a name="217" /><span class="True">     217:</span>     <span class="m">struct</span> <span class="b">_ymmh_state</span> <span class="b">ymmh</span><span class="f">;</span>
<a name="218" /><span class="True">     218:</span>     <span class="k">/* new processor state extensions go here */</span>
<a name="219" /><span class="True">     219:</span> <span class="f">}</span><span class="f">;</span>
<a name="220" /><span class="True">     220:</span> 
<a name="221" /><span class="True">     221:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _UAPI_ASM_X86_SIGCONTEXT_H */</span>
<a name="222" /><span class="True">     222:</span> </pre>
  </body>
</html>
